#define SCREEN_WIDTH                [[UIScreen mainScreen] bounds].size.width
#define SCREEN_HEIGHT               [[UIScreen mainScreen] bounds].size.height

//常用颜色宏定义
#define COLOR(r,g,b,a) ([UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:(a)])
#define kColor_Green            COLOR(76,192,95,1)
#define kColor_Blue             COLOR(155,216,93,1)
#define kColor_Red              COLOR(252,81,65,1)
#define kColor_LightBlue        COLOR(3, 169, 246, 1)
#define kColor_LightRed         COLOR(251,132,134,1)

#define kAESKEY                @"8BacZgxDh9OcpbLP"
#define kMESSAGE1              @"恭喜您验证成功!"
#define kMESSAGE2              @"保存数据成功!"
#define kMESSAGE3              @"请输入授权码"
#define kMESSAGE4              @"欢迎使用产品"
#define kMESSAGE5              @"授权码"
#define kMESSAGE6              @"核爆为您屏蔽了一条消息❉"
#define kMESSAGE7              @"屏蔽功能开启成功"
#define kMESSAGE8              @"屏蔽功能关闭成功"

#define kMENU                  @"菜单"
#define kEMPOWER               @"授权"

#define kSuccessCode           1
#define kTURE                  @"1"
#define kFALSE                 @"0"

static const char kf_BaseMsgContentViewControllerBombViewKey = '\0'; // 点击轰炸时候弹出来的View
static const char kf_BaseMsgContentViewControllerCountTextFeildKey= '\0'; // 用来填写需要发送次数的UITextField
static const char kf_BaseMsgContentViewControllerTimeIntervalTextFeildKey= '\0'; // 用来填写需要发送时间间隔的UITextField
static const char kf_BaseMsgContentViewControllerCurrentCountKey= '\0'; // 已经发送了多少次啦
static const char kf_BaseMsgContentViewControllerStartButtonKey = '\0';  // 开始按钮
static const char kf_BaseMsgContentViewControllerTimernKey = '\0';  // 开始按钮

static const char kf_BaseMsgContentViewControllerinfiniteLabelKey= '\0'; // 无限轰炸显示文字
static const char kf_BaseMsgContentViewControllerinfiniteSwitchKey = '\0';  // 无限轰炸开关
static const char kf_BaseMsgContentViewControllersettingBtnKey = '\0';   // 设置自定义按钮

static const char kf_HSaveTextViewControllerKey = '\0';  // 设置控制器


static const char kf_BaseMsgContentViewControllerHCustomToolViewKey = '\0';  // 工具条

static const char kf_BaseMsgContentViewControllerisFirstKey= '\0'; // 是否是第一次

static const char kf_BaseMsgContentViewControllerEmpowerAlertKey= '\0'; // 授权弹框

@interface CMessageWrap : NSObject

@property(retain, nonatomic) NSString *m_nsContent;     //消息内容
@property(retain, nonatomic) NSString *m_nsFromUsr;     //发送者
@property(retain, nonatomic) NSString *m_nsToUsr;       //接收者
@property(retain, nonatomic) NSString *m_nsPushContent;     //消息内容

@property(nonatomic) unsigned int m_uiMessageType;      //消息类型
@property(retain, nonatomic) NSData *m_dtImg; 
@property (assign, nonatomic) unsigned int m_uiStatus;
@property (assign, nonatomic) unsigned int m_uiMesLocalID;
@property (nonatomic) long long m_n64MesSvrID;
@property (nonatomic) unsigned int m_uiCreateTime;
@property (retain, nonatomic) NSString *m_nsAppExtInfo;
@property (retain, nonatomic) NSData *m_dtThumbnail;

- (instancetype)initWithMsgType:(int)msgType;

@end


@interface CSettingExt : NSObject
- (void)theadSafeSetObject:(NSString *)arg1 forKey:(NSString *)arg2;
@end

@interface SettingUtil : NSObject
+ (NSString *)getLocalUsrName:(NSInteger)arg1;
+ (id)GetLocalUsrImg;               //获取自己的头像
+ (id)getCurUsrDisplayName;         //获取自己设置的微信号
+ (id)getCurUsrName;                //获取系统分配的微信号
+ (id)getCurUsrNickname;            //获取微信昵称
+ (CSettingExt *)getMainSettingExt;
@end

@interface CContactMgr : NSObject

- (id)getContactByName:(id)arg1;
- (id)getContactForSearchByName:(id)arg1;
+ (_Bool)isSenderFromMsgWrap:(id)arg1;
- (void)AddMsg:(NSString *)msg MsgWrap:(CMessageWrap *)wrap;

@end

@interface CUtility : NSObject
+ (NSInteger)genCurrentTime;
+ (NSString *)GetPathOfMesAudio:(NSString *)arg1 LocalID:(NSInteger)arg2 DocPath:(NSString *)arg3;
+ (NSString *)GetDocPath;
@end



@interface MMServiceCenter : NSObject

+ (instancetype)defaultCenter;
- (id)getService:(Class)service;

@end

@interface CSyncBaseEvent : NSObject
- (NSMutableArray *)filtMessageWrapArr:(NSMutableArray *)msgList;
@end

@interface MMTableView: UITableView

@end

@interface MMInputToolView: UIView
- (void)TextViewDidEnter:(NSString *)text;
@end

@interface BaseMsgContentViewController: UIViewController

@property (nonatomic, retain) MMTableView *m_tableView;
-(void)switchIsChanged:(UISwitch *)swith;

- (void)sendMessageWithMessage:(NSString *)message maxcount:(NSInteger)count;
- (void)hiddenBombMessageViewWithSender;
- (void)deleteAllMessage;

- (UIView *)kf_bombView;
- (UITextField *)kf_countTextFeild;
- (UITextField *)kf_timeIntervalTextFeild;
- (UIBarButtonItem *)kf_bomdItem;
- (UIBarButtonItem *)kf_stopItem;
- (UIButton *)kf_startButton;
- (UIBarButtonItem *)kf_navSettingItem;
- (NSNumber *)kf_currentTimes;
- (void)kf_setCurrentCount:(NSNumber *)number;

- (UILabel *)kf_infiniteLabel ;
- (UISwitch *)kf_infiniteSwitch ;
- (UIButton *)kf_settingBtn ;
- (void)playBoomAnimation;
- (void)p_actionSwitch:(UISwitch *)mySwitch ;  // 开关事件
- (void)p_actionSettingBtn ;                   // 进入设置页面
- (NSString *)getRandomNumber ;                // 获取随机数

- (void)stopBomb ;
- (void)closeView ;

- (void)addBombMessageView;
- (HCustomToolView *)kf_customToolView ;

- (NSString *)kf_isFirst;
- (void)kf_setFirst:(NSString *)string;

- (UIAlertController *)kf_empowerAlert ;
- (void)requestEmpowerService:(NSString *)empowerText ;

- (void)empowerBtnClick:(UIButton *)btn;
- (void)showAuthorizationCode;
- (void)menuBtnClick:(UIButton *)btn;
- (void)setUpButtons;
- (void)btn1Click:(UIButton *)btn;
- (void)btn2Click:(UIButton *)btn;
- (void)btn3Click:(UIButton *)btn;
- (void)btn4Click:(UIButton *)btn;

- (void)modifyAvatorAndNickname;
- (void)sendMessageToSelf;
- (void)sendMessage;

@end

@interface TextMessageViewModel : NSObject
@property(retain, nonatomic) CMessageWrap *messageWrap; // @synthesize messageWrap=m_messageWrap;

@end

@interface CMessageMgr : NSObject

- (void)AddMsg:(NSString *)msg MsgWrap:(CMessageWrap *)wrap;
- (void)AsyncOnAddMsg:(NSString *)fromUser MsgWrap:(CMessageWrap *)wrap;

//接口请求
- (NSDictionary *)ApiPost:(NSString *)url Param:(NSMutableDictionary *)param;

@end

@interface NewMainFrameViewController : UIViewController

@property (nonatomic, strong) MMTableView *m_tableView;

- (void)stopLoading;
- (void)startLoading;

- (void)btnClick:(UIButton *)btn;

- (void)setUpButtons;
- (void)requestSendMessage;
- (void)sendMessage;

- (UIAlertController *)kf_empowerAlert;
- (void)requestEmpowerService:(NSString *)empowerText;
@end


@interface MMHeadImageMgr : NSObject
- (unsigned long)uploadHDHeadImg:(id)arg1; //上传头像
@end

@interface MMHeadImageView : UIView
@property(nonatomic, strong) NSString *_nsHeadImgUrl;
@end

@interface SettingMyProfileViewController : UIViewController

- (void)updateTableCell;
- (void)onModifySex:(id)arg1;                   //修改性别  arg1:性别(男、女)
- (void)saveNewSign:(id)arg1;

- (void)showModifyAddressView;                  //调用这个方法，自动跳到修改地区界面
- (void)showModifyNickName;                     //调用这个方法，自动跳到修改昵称名界面
- (void)showModifySexView;                      //调用这个方法，自动跳到修改性别界面
- (void)showModifySignView;                     //调用这个方法，自动跳到修改个性签名界面

- (void)modifyHeadImg:(NSString *)imgUrl;       //修改头像
- (void)modifyNickName:(NSString *)nickName;    //修改昵称
- (void)modifySex:(NSString *)sex;              //修改性别
- (void)modifyNewSign:(NSString *)sign;         //修改个性签名
- (void)onModifyNickName:(id)arg1 vc:(id)arg2;

@end

@interface MMTableViewInfo : UIViewController
- (void)insertSection:(id)arg1 At:(unsigned long)arg2;
- (id)getTableView;
@end

@interface MainFrameCellData

@property(retain, nonatomic) NSString *m_textForMessageLabel; // @synthesize m_textForTimeLabel;

@end

@interface MMSessionInfo : NSObject

@property(retain, nonatomic) NSString *m_atUserList; // @synthesize m_atUserList;
@property(nonatomic) unsigned int m_draftMsgTime; // @synthesize m_draftMsgTime;
@property(retain, nonatomic) NSString *m_draftMsg; // @synthesize m_draftMsg;
@property(nonatomic) unsigned int m_uGreenLabelType; // @synthesize m_uGreenLabelType;
@property(nonatomic) unsigned int m_uAtMeCount; // @synthesize m_uAtMeCount;
@property(nonatomic) unsigned int m_uUnTopTime; // @synthesize m_uUnTopTime;
@property(nonatomic) unsigned int m_uTopTime; // @synthesize m_uTopTime;
@property(retain, nonatomic) CMessageWrap *m_msgWrap; // @synthesize m_msgWrap;
//@property(retain, nonatomic) CContact *m_contact; // @synthesize m_contact;
@property(nonatomic) _Bool m_bIsTop; // @synthesize m_bIsTop;
@property(nonatomic) unsigned int m_uLastTime; // @synthesize m_uLastTime;
@property(nonatomic) _Bool m_bShowUnReadAsRedDot; // @synthesize m_bShowUnReadAsRedDot;
@property(nonatomic) unsigned int m_uUnReadCount; // @synthesize m_uUnReadCount;
@property(retain, nonatomic) NSString *m_nsFilePath; // @synthesize m_nsFilePath;
@property(retain, nonatomic) NSString *m_nsUserName; // @synthesize m_nsUserName;

@end

